perm filename NET.JAM[UP,DOC]1 blob sn#002760 filedate 1972-08-11 generic text, type T, neo UTF8
	The Stanford interface to the  ARPA  network  consists  of  a
general  purpose piece of software in the time-sharing monitor, and a
set of user-level programs. The principal  program  used  is  TALKER,
often  refered  to  as our user-TELNET program. This program provides
the user with the ability to connect to a serving host as if he  were
typing on a local teletype.
	Some important differences exist between using the TALKER and
a  local terminal. One obvious problem is that certain characters are
absorbed by Stanford's time-sharing system before  they  get  to  the
TALKER,  (like  control-C,  control-Z, etc.), thus necessitating some
character mapping and some escape conventions. The way it works is as
follows.     To    type    some    control   character,   one   types
<CONTROL><character> and the TALKER will translate the character  and
send  it  out.  <META><character>  and <CONTROL><META><character> are
special commands to the TALKER for switching modes and are  described
below.
	When the talker is started up by typing "R TALKER", it  first
asks  you  for  the site of the computer you wish to connect to.  The
sites  on  the  network  have  mnemonic  names,   assigned   somewhat
arbitrarily, and may be recognized by either their long name or their
short name, or just enough characters to make the name unique. A list
of  the  current  mnemonics  and their decimal site numbers are given
below:

		TABLE OF HOST MNEMONICS

LONG NAME      SHORT   SITE            COMMENTS

UCLA-NMC	NMC	1	Network Measurement Center.
				Sigma-7, very crowded.
UCLA-CCN	CCN	65	Campus computation center.
				360-91, remote job entry only.
SRI-ARC		NIC	2	Englebart's group.
				Allows network users NLS only.
SRI-AI		SRAI	66	SRI Artificial Intelligence group
UCSB		UCSB	3	Offers On-Line-System only.
				Desk calculator service.
UTAH		UTAH	4	They use TENEX. Also are core-bound.
BBN-NCC		NCC	5
BBN		BBN	69	This is where TENEX came from.
BBN-B		BBNB	133	BBN's other PDP-10.
MIT-MLTX	MLTX	6	World's slowest system.
MIT-DMCG	DMCG	70	Dynamic modeling group.
				Down the hall from AI.
MIT-AI		AI	134	Exec DDT, No password needed.
MIT-MATHLAB	ML	198	Exec DDT, No password needed.
RAND-65		RAND	7
RAND-10		RND1	71	TENEX, supposedly a service center.
SDC		SDC	8
HARV-10		HARV	9
HARV-1		HRV1	73
HARV-11		HRV2	137
LL-67	LL67	10
LL-TX2		TX2	74
LL-TSP		TSP	138
SU-AI		SAIL	11	Modified DEC system, no password needed, 
				very busy.
SU-HP		SUHP	75
ILL-11		ILL11	12
ILL-B65		ILL	76
CASE		CASE	13
CMU		CMU	14	DEC 10-50 system.
BURROUGHS	BURR	15
PAOLI		PAOLI	79
AMES-67		AMES	16
AMES-TIP	AMET	144
MITR-TIP	MTRT	145
RADC		RADC	18
RADC-TIP	RADT	146
NBS		NBS	19
NBS-TIP		NBST	147
ETAC-TIP	ETAT	148
TINKER		OCAF	21
MCLELLAN	SMAF	22
USC		USC	23
USC-TIP		USCT	151
GWC-TIP		GWCT	152
NCAR		NCAR	25
NCAR-TIP	NCAT	153
BBN-TIP		BBNT	158

	First, some network definitions are in order.
NCP
	This is the software in the monitor that services the IMP.

TELNET
	The thing you type into that sends your characters off  to  a
foreign  site  is a user TELNET program. The thing that receives them
at the other end and passes them on to the time-sharing monitor there
is the server TELNET. These are generally user-level programs

SOCKET
	When  you log in on another system, unknown to you, there are
four socket numbers involved. There is a local send socket number,  a
local  receive  socket  number,  a  foreign send socket number, and a
foreign receive socket numbers. These numbers are internal connection
indexes  and  are  used  to keep different connections separate. Each
connection has a unique set of 4 socket numbers.

LOGGER
	Each  site is supposed to provide a program that does nothing
but sit around and listen to  socket  1.  When  someone  connects  to
socket 1, the LOGGER is supposed to send it back a socket number that
the foreign host can use to connect to the LOGGER's host on. Only the
serving  host  knows what socket numbers it can service and it is the
job of the LOGGER to pass out these numbers.

RFC
	Request for connection. This is how a pair of hosts establish
a connection. The originating host sends an RFC  to  the  destination
host  with  a  local  socket  number  and  a foreign socket number as
arguments. The  destination  host  can  complete  the  connection  by
returning  an  RFC  with  the  same socket numbers, or can refuse the
connection by returning a close code.

LINK
	Once  a  connection  is  established, an 8-bit link number is
assigned such that the 8-bit host number concatenated with the  8-bit
link  number  is  unique  at  both ends of the connection. During the
lifetime of the connection, the link number is used to  separate  the
connections,  being  as  how the socket numbers are 32-bits long. The
IMP itself is programmed in such a way that only one message  may  be
in  transit  on  a  particular  link  at  a time. The IMP signals the
sending host that  the  message  has  arrived  by  returning  a  RFNM
(request   for new message) with that link number as an argument. All
of this is invisible to the user.

	More definitions

CONTROL MESSAGES
	Data is sent between hosts on a non-zero  link  number.  Link
zero  is  defined  as  the  control  link, on which hosts communicate
regarding the connections. All host to  host  protocol  messages  are
exchanged on link zero.

ALLOCATION
	The host to host protocol defines a kind of flow control on a
higher  level  than  the RFNM control. This is the allocation system.
When a connection is first established, the receiving  host  sends  a
control  message  telling the sending host how many bits and messages
can conveniently be buffered. The sending host  must  then  not  send
more  than  that  many  bits  or  messages  without  waiting for more
allocation from the receiving host. Although much of this  is  unseen
to the user, the user has control over how much allocation the system
will give the remote host. For data and file transfer purposes, it is
convenient to increase the allocation over the system default amount.

	How to Use the TALKER

	Our user TELNET program is called TALKER. When it is started,
it  first  asks  for  a  site to connect to. You may then type enough
characters as needed to recognize the site name. The TALKER will then
attempt to connect to the site. It types out its progress as it goes.
When  the  connection   is   completed,   the   message   "Connection
Established"  is  typed  out.  All  hosts  have an initial connection
message which should appear next.
	It can type out many things other than the success statement,
so let me describe the error typeouts next:

CONNECTION HAS BEEN CLOSED
	This means just what it says. The host has voluntarily broken
the connection for reasons known only to himself.

RESET RECEIVED FROM HOST
	The host has sent us a reset command which directs our NCP to
break all connections to this host and clear our tables of everything
it knows (regarding previous connections) about this host. Some sites
(namely CMU and Harvard) will send a reset the first time you connect
to  them  as  standard  procedure.   In  this case, trying again will
succeed. In the more normal case, this means the host has crashed and
just been brought up again.

HOST DEAD
	This means that the RFC got to the host's IMP,  but  was  not
read  from  the  IMP  within  90 seconds, and the IMP timed out. This
generally means the host is really down.

DATA QUOTA OVERFLOW
	The  host  is not conforming to protocol and has sent us more
data than we allocated him. We are breaking the connection.

END OF FILE
	Doesn't occur in normal circumstances.

SOCKET IN USE
	Generally  happens  after  an  aborted  attempt to connect to
someone else. This means the foreign host  suddenly  sprang  to  life
after the TALKER timed out and sent us an RFC from a different socket
than he told us he has now. This cures itself in a few minutes.

CAN'T CHANGE SOCKETS
SYSTEM ERROR
NO LINKS AVAILABLE
ILLEGAL BYTE SIZE
	These  all  indicate  horrible  system  errors of one form or
another and should not happen.

IMP DEAD
	The  interface  has begun to malfunction, the network control
center has brought the IMP down, or someone here has given the  magic
UUO that brings the IMP software down.

HOST NOT RESPONDING
	One of the various timeouts inside the TALKER or system  went
off.  The  TALKER  times  out generally when a message is sent to the
foreign host which demands a response and no  response  was  received
within a "reasonable" time.

	The following messages appear only in conjunction with one of
the  above  messages and indicates only the point in TALKER where the
error occurred.

CAN'T CONNECT TO LOGGER
	The  error  occurred  on  the  initial RFC to get the foreign
host's logger.

DIDN'T GET SOCKET NUMBER FROM LOGGER
	We  exchanged  RFC's  with  the  foreign  host's  logger, but
somehow he did not send us a socket number.

CAN'T CONNECT TO RECEIVE SIDE
	We  got  a  socket number from the logger and tried to open a
connection on that socket when the error occurred.

CAN'T CONNECT TO SEND SIDE
	We  got the socket number and successfully sent an RFC to the
receive socket, but we hit an error when trying to send an RFC to the
send socket.

ERROR WHILE WAITING FOR RECEIVE SIDE
	This means that we successfully sent RFC's to  the  send  and
receive sockets, but we got an error while waiting for the return RFC
on the receive side.

ERROR ON OUTPUT
ERROR ON INPUT
	These are given after the connection is established and refer
to errors that occurred while doing output or input.

	Now  that  you  know  all of the things that go wrong, let us
proceed to the options available once the connection is  successfully
established.   Normally, everything you type will be sent directly to
the foreign host. The TALKER's idle state is in interrupt wait  queue
(INTW). An abnormal state might be if it hung in IO wait queue (IOW).
	Characters typed with <CONTROL> held down are interpreted  as
control  characters, that is, they are made into upper case, then 100
is subtracted from the character code, then they are sent. So to type
↑C  at a remote job, you need only type <CONTROL>C. The effect of the
<CONTROL> and <META> keys may be simulated on a teletype by using ↑E.
One  ↑E  means  <CONTROL>,  two ↑Es means <META>, and three ↑Es means
<CONTROL><META>. Characters with <META> or  <CONTROL><META>  are  not
sent to the foreign host but are interpreted locally by the TALKER as
instructions to the TALKER.  I  shall  abbreviate  <META>  as  β  and
<CONTROL><META> as αβ. ⊗ will be used if either β or αβ will work.

		CONTROL COMMANDS TO THE TALKER

⊗<number>
	An octal argument is assembled from digits typed this way.


⊗H
	Sends the previously typed octal argument as a single  ASCII
character. For instance, ⊗1⊗0⊗1⊗H is the hard way to send an "A".

⊗S
	Send. If the TALKER is in line mode, this command causes  all
the characters typed so far to be sent to the foreign host. Normally,
the characters are sent only when CR, LF, or ALT-MODE are typed  when
in  line  mode.  This  command  is  not useful for teletypes, because
typing ↑E↑ES does not cause an activation in line mode.

βL
	Enter line mode.

αβL
	Enter  full  character set mode. In this mode, each character
is an activation character, and is sent individually to  the  foreign
host when it is typed. This is useful for using DDT at a remote host.

βE
	Begin local echoing. Different sites have  different  echoing
conventions.  Some sites expect to send back echoing, some do not. If
you find that what you type is not being echoed in a reasonable time,
you may use this command to let you see what you are typing.

αβE
	Terminate local echoing. One does  this  when  each  key  one
types  appears  twice  on the console. Turning off local echoing will
often eliminate one copy of the key.

βR
	Inhibit sending of LF after CR. Normally, when CR is typed, a
LF  is  invented  by the system and CRLF is sent to the foreign host.
This command inhibits sending the LF after the CR.

αβR
	Enable sending LF after CR. The inverse of the above command.

βK
	Inhibit duplexing LF after CR. The system normally types a LF
out  when  you  type  CR. This command inhibits that. This command is
different in effect from the other two, because it alters  only  what
appears on your screen, not what goes out over the line.

αβK
	Enable duplexing LF  after  CR.  The  inverse  of  the  above
command.

⊗X
	Set escape character. The escape character is normally set to
↑E but may be changed by this command. The next  character  typed  is
taken  to  be  the new escape character. This is useful for teletypes
only.

βI
	Open  input  file.  This  command  asks for a file name, then
proceeds to send said file to the foreign host.

αβI
	Close input file.

βD
	Open  output  file.  This  command asks for a file name, then
proceeds to write everything that comes from the foreign host on this
file.  Note  that  characters  you type, or characters from any input
file that is opened, do not  go  into  the  output  file  unless  the
foreign host is duplexing them.

αβD
	Close output file.

⊗Q
	Quit. Terminates connection and closes any  input  or  output
files that may be open. The connection is also closed by saying ↑C to
the TALKER and doing something else, but in this case, the input  and
output files are not closed.

⊗C
	Send  interrupt.   The  host  to  host  protocol  defines  an
interrupt that may be sent. This command sends said interrupt.

	The  TALKER  normally  sets  the   echoing   and   activation
conventions  to  those  used  by the particular site in question, but
anomalies do occur. For instance, the foreign  host's  program  may
instruct  the  foreign system to inhibit duplexing, but that will not
inhibit local duplexing. Consider the case of the SOS Alter  command.
SOS  expects  to  do  all  the  duplexing and if you are talking to a
foreign SOS and  have  local  duplexing  turned  on,  one  gets  very
confusing results.

		IMP System Calls

	The IMP is similar to any other IO device, in that it may  be
initialized  with  an  INIT  and  released  with a RELEASE, but it is
different in that one must first open a  connection  before  one  may
expect to exchange data. Connections are opened and closed separately
for the receive side and the send side, even though  the  IO  channel
number  is  the  same.  One  may open and close connections liberally
without having to do any more than the first INIT.  To  get  all  the
various  special  functions,  the  user  does  an  MTAPE UUO with the
effective address pointing to a variable  length  table  whose  first
word  is  a  code  number. This number determines the function of the
UUO. These functions are as follows.
	The  status of the connection is contained in several places.
The actual connection status is  in  a  status  word,  one  for  each
connection.  If  you  have both a receive and a send connection, then
you will have two connections. MTAPE 2 gives you these status  words.
The bits are decoded as follows:

Name ---- Bit ----------- Explanation
RFCS	200000 LH	RFC sent.
RFCR	100000 LH	RFC received.
CLSS	040000 LH	Close sent
CLSR	020000 LH	Close received
INTINR	000100 LH	Interrupt by receiver
INTINS	000040 LH	Interrupt by sender

	Other bits may be on, but they are internal  to  the  system.
The  normal  state  of an open connection is 300000 in the left half.
When a connection is closed or closing, CLSS or CLSR will be  on.  No
more  data may be transmitted or received over the connection at this
point. The foreign host may  send  us  interrupts.  He  can  send  an
interrupt  from  receiver  or  an interrupt from sender. These can be
received as user interrupts or can be tested for explicitly by  MTAPE
12. Interrupts can be sent using MTAPE 9.
	More status bits occur in the IO status word,  which  can  be
gotten  with  a GETSTS UUO, or examined with a STATZ or STATO UUO, or
cleared with a SETSTS UUO. These bits are as follows:

Name ---- Bit ------------- Explanation
HDEAD	002000 RH	Host or destination IMP dead
CTROV	001000 RH	Foreign host sent us more bits than
			he had allocated.
RSET	000400 RH	Foreign host sent us a reset.
TMO	000200 RH	Timeout occurred.

	If  HDEAD  comes up, this means that the last message we sent
him stayed in the IMP network for 30 seconds or  more  without  being
eaten  by  the  host.   In this case, the IMP flushes the message and
sends us back a "host dead" message.
	CTROV  means  that  the  foreign host goofed. He sent us more
data than we allowed him. The system closes the  connection  in  this
case.
	RSET means that the host sent us a reset, which as  mentioned
before,  asks  us to clear all our tables of references to this host.
The connection is closed.
	TMO  means  that  your  job was in a wait state and timed out
(see MTAPE 15). This bit is set when a timeout occurs.
	User interrupts can be taken on a number of conditions. These
are described below.

 Name --- Bit -------------- Explanation ---------------------------
INTINR	000100 LH	Interrupt from foreign receive side
INTINS	000040 LH	Interrupt from foreign send side
INTINP	000010 LH	New data packet entered free storage. Next
			INPUT UUO will not wait.
INTIMS	000020 LH	Status change. One or more of the bits CLSS
			CLSR, RFCS, RFCR has changed.

	The  INTINP  interrupt is generated every time a regular data
message is received by the system. One can test for data received and
waiting in the system with an MTAPE 8 UUO.
	Now on to the MTAPEs themselves.  In  this  description,  the
function  code  is  given  and  named,  and the contents of the first
through Nth words of the MTAPE block are given. A  brief  explanation
follows if needed.
	Various  of these UUOs may go into a wait state. They will be
awakened either because of their normal  wakeup  condition,  or  some
special  condition. Some of the special conditions that may occur are
specified by the bits in the right half of the IO status word. If one
is  waiting  for input, for instance, and a reset arrives, the job is
awakened and RSET is set. An error bit is set if the wakeup  was  due
to  a  special condition, so the normal IN and OUT UUOs will not skip
if the wakeup was due to the normal wakeup condition.

	    Special MTAPE UUOs

function=0	Connect
    1		Status bits are placed here upon return
    2		Local socket number, 32 bits, right adjusted
    3		Wait flag. -1 for wait for connection.
    4		Byte size, or if sending, byte size is stored here
    5		Foreign socket number
    6		Host number is placed here, 8 bits, right adjusted

	An RFC is sent to the host whose number is in word 6 with the
local  socket  number taken from word 2 and the foreign socket number
taken from word 5. If word 3 is non-zero, the systen  goes  into  RFC
wait   until  timed  out (see MTAPE 15) or until an RFC with matching
socket numbers and host number arrives. If an RFC is already  pending
when  this  UUO  is  given,  it  will not wait, but will complete the
connection immediately. If you wish to open a receive connection, the
local  socket  number must be even and the foreign socket number must
be odd.
	If the wait flag (word 3) was on or an RFC was  pending,  and
the  local socket number was odd (Send side), the byte size is stored
in word 4.
	If  you are opening a receive connection, you may specify the
byte size of the connection. Our system allows byte sizes of 1, 2, 3,
4,  6,  8,  9,  12, 16, 18, 32, and 36 bits. Most other systems allow
only 8, 32, and 36 bits. The standard TELNET  connection  is  8  bits
with  the  right  hand  7  bits of each byte being an ASCII character
unless the high order bit is on, in which case  the  character  is  a
command  to the receiving TELNET. Notice that to change the byte size
in your buffer header, all you have to do is place the byte  size  in
bits  6  through  11 in the byte pointer word in the buffer header. A
byte size is established for the life of a connection and may not  be
changed until the connection is broken.

function=1	Listen
    1		Status bits are placed here
    2		Local socket number
    3		Wait flag
    4		Byte size of connection. Stored here if send

	This  does  not send out an RFC to anybody, but merely places
the local socket number in word 2 in the system link table. If word 3
is  non-zero,  the job is put into RFC wait. If an RFC arrives from a
foreign host with that socket number as the local  socket  number,  a
connection  is  made.  If the wait flag (word 3) was on or an RFC was
already waiting, and the local socket number was odd (send side), the
byte size is stored in word 4 when an RFC is received.

function=2	Status
    1		Status bits are placed here for send side
    2		Receive side status bits are placed here

	If the connection is not open, zero is stored. If a reset has
been received, both CLSS and CLSR will be on.

function=3	Terminate
    1		Status bits are placed here
    2		Local socket number
    3		Wait flag

	This sends a  close  to  the  foreign  host  for  the  socket
specified  in word 2. If word 3 is non-zero, the job is placed in CLS
wait until a return close is received,  or  the  CLS  timeout  occurs
(signified by TMO being on in IO status word).

function=4	Wait for connection complete
    1		Status is returned here
    2		Needs socket number here

	This is meaningful only if a  CONNECT  or  LISTEN  was  given
without  waiting  (word 3 = 0). In this case, the job is put into RFC
wait until an RFC arrives or a timeout occurs.

function=5	Dump. Dumps monitor tables
    1		Number of words of tables desired
    2		Address of place to put tables

	This dumps the monitor  tables  into  your  core  image.  The
format  of these tables is much too lengthy to be discussed here, but
is sort of described in IMPDDB[S,SYS] pages 6 and 7. The part that is
dumped is after the label SYSTBS.

function=6	Wakeup. Valid only if at I-level. Useful for
    		waking up process in wait state due to IMP.

	This UUO will wake up the main job if it is in any wait state
due to the IMP. It also sets TMO in the IO status bits.

function=7	Get socket numbers and host number
    1		host-link number, send side
    2		Local send socket
    3		Foreign receive socket
    4		Host-link number for receive side
    5		Local receive socket
    6		Foreign send socket

	A host-link number is a 16 bit right adjusted  quantity.  The
first  8  bits  are  the host number and the last 8 bits are the link
number.

function=8	Skip if any input is present

	This  skips  if  there  is input in free storage that has not
been transferred to the user's buffers.

function=9	Send interrupt
    1		Status bits returned here
    2		Need socket number here

	Sends  a  receive side interrupt if the socket number is even
and a send side interrupt if the socket number is odd.

function=10	Resurrect IMP if down

	This  is  a  privileged UUO and is applicable only if the IMP
system is down.

function=11	Bless this host
    1		Host number required here

	If  a  destination  IMP returns a host dead message, a bit is
set in the system and no further  transfers  are  permitted  to  that
host.  This  UUO clears that bit and sends a null message to the host
to see if he is still dead.

function=12	Test and clear interrupt bits
    1		Send side. 0 for no int., -1 for int. present
    2		Receive side. 0 for no int., -1 for int. present

	This  UUO  is  useful  if you have many IMP connections open.
When an interrupt occurs (INTINS, INTINR), the  bit  is  set  in  the
status  word  for  that  connection,  and  one  may  determine  which
connection generated the interrupt by use of this UUO.

function=13	Set allocation
    1		Function code. 0 for as specified, 1 for sys max,
		2 for min, and 3 for system default values.
    2		Number of bits of allocation (for type = 0)
    3		Number of messges of allocation (for type = 0)

	This  changes  the allocation we have given the foreign host.
If this UUO is not given, the system default value is used, which  is
fairly  small.  The  system  maximum  is  1024  words, and the system
minimum is 2 words. The default value is about 50 words. We  allocate
in two dimensions. We allocate both the number of bits and the number
of messages he may send. Since free storage blocks are about 50 words
long,  the  system  maximum  number  of  messages  is 1024/50. If the
function code (word 1) is zero, the  new  allocation  is  taken  from
words  2  and  3,  is  clipped  to  fit within the system maximum and
minimum, and set accordingly. Notice that if the  connection  is  not
yet open, this does not actually cause the allocation to happen, just
sets the values that will be  given.  Allocation  does  not  actually
occur until the first IN (INPUT) UUO is given, or a MTAPE 8 is given.
DO NOT EXPECT ANY INPUT OR INPUT INTERRUPT UNTIL ONE OF THESE UUOs IS
GIVEN! If we do not allocate him anything, nothing will happen!

function=14	What are the allocations
    1		Number of bits we have allocated him
    2		Number of messages we have allocated him
    3		Number of bits he has left
    4		Number of messages he has left
    5		Number of bits in free storage
    6		Number of messages in free storage
    7		Number of bits he has allocated us
    10		Number of messages he has allocated us

function=15	Set timeouts
    1		Word of 6-bit bytes. Gives number of 2-second units
    		for timeouts on CLS, RFNM, ALL, RFC, or INP
    		0 means wait indefinitely

	The system enters wait states for  at  least  five  different
reasons. In each of these cases, a timeout may be set. This UUO takes
in word 1 five timeouts in 6-bit fields, CLS  being  bits  0-5,  RFNM
6-11,  ALL  12-17,  RFC  18-23,  and  INP  24-29.  Bits 30-35 are not
currently used. When one of these timeouts occurs, error bits are not
set  except  for  RFNM,  ALL,  and  INP.  For RFC and CLS, the UUO in
progress just goes on as if it had never tried to wait. Note that  we
can  go  into CLS wait inside a CONNECT or LISTEN if the local socket
has a half-closed connection associated with it. For this reason,  it
is always good to wait at least a few seconds for the return CLS. The

system default values are 6 sec for CLS, 40 sec for RFNM, no  timeout
for ALL, RFC, and INP.

function=16	Get timeouts
    1		Current timeout word will be placed here

	In any operation which expects the status word to be returned
in  word  1  (CONNECT,  LISTEN,  etc),  an error code may be returned
instead in the rightmost 6-bits. These errors are as follows:

Name - Code ------------ Explanation ---------------------------
siu	1	Socket in use. This means there is a connection on
		that local socket number already.
ccs	2	Can't change socket numbers. This means a foreign
		socket number  has already  been set  and an  RFC
		received for  this  local socket number,  and you
		can't change the socket number because the foreign
		host already knows what it is.
sys	3	Horrible system error. Can't happen.
nla	4	No link available. System IMP capacity exceeded.
ilb	5	Illegal byte size.
idd	6	IMP dead.

	This completes the discussion of the monitor IMP calls